.globl SOUND_SEND
.globl INIT_SOUND
.globl SET_SOUND
.globl SET_SOUND_DIRECT

.include "def.inc"

INIT_SOUND:
        moveq   #0, d0
        move.b  d0, A5Seg.SD_IN_POINT(a5)
        move.b  d0, A5Seg.SD_OUT_POINT(a5)
        move.w  d0, A5Seg.BGM_CODE(a5)
        movem.l d0-d1/a0, -(sp)
        move.w  #0, d0
        jsr     SET_SOUND               | params:
                                        |     d0: sound index
        movem.l (sp)+, d0-d1/a0
        movem.l d0-d1/a0, -(sp)
        move.w  #2, d0
        jsr     SET_SOUND               | params:
                                        |     d0: sound index
        movem.l (sp)+, d0-d1/a0
        movem.l d0-d1/a0, -(sp)
        move.w  #2, d0
        jsr     SET_SOUND               | params:
                                        |     d0: sound index
        movem.l (sp)+, d0-d1/a0

        movem.l d0-d1/a0, -(sp)
        move.w  #6, d0
        jsr     SET_SOUND               | params:
                                        |     d0: sound index
        movem.l (sp)+, d0-d1/a0

        rts
| End of function INIT_SOUND


SOUND_SEND:                             | CODE XREF: IntVBlankRoutine:_toRetp
        moveq   #0, d0
        lea     A5Seg.SOUND_BUFFER(a5), a0

_SOUND_SEND_loop:                                  | CODE XREF: SOUND_SEND+18j
        move.b  A5Seg.SD_OUT_POINT(a5), d0
        cmp.b   A5Seg.SD_IN_POINT(a5), d0
        beq.s   _SOUND_SEND_ret
        addq.b  #1, A5Seg.SD_OUT_POINT(a5)
        move.b  (a0,d0.w), d0
        beq.s   _SOUND_SEND_loop                   | skip code
        cmpi.b  #1, d0                  | wait code
        beq.s   _SOUND_SEND_ret
        move.b  d0, (REG_SOUND).l        | REG_SOUND

_SOUND_SEND_ret:                                   | CODE XREF: SOUND_SEND+Ej
                                        | SOUND_SEND+1Ej
        rts

|===========================================
| params:
|     d0: sound index

SET_SOUND:                              | CODE XREF: sub_24B6+16p
                                        | sub_24B6+9Cp ...
        lea     (SOUND_CODE_TBL).l, a0
        move.w  d0, d1
        add.w   d0, d0
        move.w  (a0,d0.w), A5Seg.SOUND_CODE_W(a5)

SET_SOUND_DIRECT:                       | CODE XREF: DbgSoundMenuKeyEvent+CEp
        lea     A5Seg.SOUND_BUFFER(a5), a0
        moveq   #0, d0
        move.b  A5Seg.SD_IN_POINT(a5), d0
        move.w  A5Seg.SOUND_CODE_W(a5), (a0,d0.w)
        addq.b  #2, A5Seg.SD_IN_POINT(a5)
        rts
| End of function SET_SOUND


.align 4

SOUND_CODE_TBL:
        .word 0x301, 1, 0x101, 0x401, 0x501, 0x601, 7, 8| 0
        .word 9, 0xA2C, 0x7F, 2, 0x1CFF, 0, 0xA2C, 0| 8
        .word 0x20, 0, 0, 0, 0x14, 0, 0, 0| 16
        .word 0, 0, 0, 0x65, 0x70, 0x71, 0x72, 0x73| 24
        .word 0x7A, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27| 32
        .word 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F| 40
        .word 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37| 48
        .word 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F| 56
        .word 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47| 64
        .word 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F| 72
        .word 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57| 80
        .word 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F| 88
        .word 0x1A11, 0x1A12, 0x1A13, 0x1A14, 0x1A11, 0x1A12, 0x1A13, 0x1A14| 96
        .word 0x1A15, 0x1A15, 0x1A16, 0x1A17, 0x1A98, 0x1A81, 0x1A18, 0x1A19| 104
        .word 0x1A1B, 0x1A1C, 0x1A1D, 0x1A1E, 0x1A20, 0x1A21, 0x1A70, 0| 112
        .word 0x1A22, 0x1A23, 0x1A4F, 0x1A4D, 0x1A72, 0x1A71, 0x1A24, 0| 120
        .word 0x1A25, 0x1A26, 0x1A27, 0x1A28, 0x1A29, 0x1A2A, 0x1A2B, 0x1A2C| 128
        .word 0, 0x1A2D, 0x1D11, 0x1D13, 0x1D16, 0x1A2E, 0x1A2F, 0x1A22| 136
        .word 0x1A30, 0x1A31, 0x1A32, 0x1A33, 0x1A34, 0x1A9A, 0, 0x1A35| 144
        .word 0x1A8D, 0x1A36, 0x1A37, 0x1A38, 0x1A39, 0x1A87, 0, 0x1C11| 152
        .word 0x1C12, 0x1C17, 0x1C13, 0x1C14, 0x1C15, 0x1C16, 0x1C1D, 0x1C11| 160
        .word 0x1C18, 0x1C18, 0x1C19, 0x1C1A, 0x1C1B, 0x1C1C, 0, 0x1C1E| 168
        .word 0, 0x1C1F, 0, 0x1C22, 0x1C20, 0x1C21, 0x1C23, 0x1C24| 176
        .word 0x1C25, 0x1C26, 0x1C27, 0x1C28, 0x1C29, 0, 0, 0| 184
        .word 0, 0, 0, 0, 0, 0, 0x1C2A, 0x1C2B| 192
        .word 0x1C2C, 0x1C2D, 0x1C2E, 0x1C2F, 0x1C30, 0x1C34, 0x1C32, 0x1C31| 200
        .word 0x1C31, 0x1C32, 0x1C33, 0x1C34, 0x1C35, 0x1C39, 0x1C36, 0x1C38| 208
        .word 0x1C3A, 0x1C31, 0x1C37, 0x1C30, 0x1C3B, 0x1C32, 0x1C3C, 0| 216
        .word 0, 0, 0, 0, 0, 0, 0, 0    | 224
        .word 0, 0x1C3D, 0x1C3E, 0x1C43, 0x1C3F, 0x1C40, 0x1C41, 0x1C42| 232
        .word 0x1C4E, 0x1C3D, 0x1C44, 0x1C44, 0x1C45, 0x1C46, 0, 0x1C47| 240
        .word 0x1C48, 0x1C49, 0x1C4C, 0x1C4D, 0x1C4A, 0x1C4B, 0x1C4E, 0x1C3D| 248
        .word 0x1C51, 0, 0x1C4F, 0x1C49, 0x1C50, 0x1C51, 0x1C4E, 0x1C52| 256
        .word 0, 0, 0, 0, 0, 0, 0x1EA9, 0x1EAA| 264
        .word 0x1EB3, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EBE, 0x1EF1| 272
        .word 0x1EF1, 0, 0x1EB1, 0x1EB1, 0, 0x1EB0, 0x1EB2, 0x1EB4| 280
        .word 0x1EB5, 0x1EB6, 0x1EB7, 0, 0x1EBC, 0x1EBB, 0x1EBD, 0x1EB9| 288
        .word 0x1EBA, 0x1EBF, 0x1EB8, 0x1EFC, 0, 0, 0, 0| 296
        .word 0x1EC0, 0x1EC1, 0, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6| 304
        .word 0x1ED3, 0x1EC0, 0x1EC0, 0x1EC8, 0x1EC7, 0x1CF7, 0x1EFF, 0x1EC9| 312
        .word 0x1ECA, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECB, 0x1ECA, 0x1ED1, 0x1ED2| 320
        .word 0x1ECF, 0x1ED0, 0x1EFE, 0, 0, 0, 0, 0| 328
        .word 0, 0, 0x1C53, 0x1C54, 0x1C5A, 0x1C55, 0x1C56, 0x1C57| 336
        .word 0x1C58, 0x1C60, 0x1BF9, 0x1C59, 0x1C59, 0x1C5C, 0x1C5D, 0x1C5E| 344
        .word 0x1C5F, 0x1C61, 0x1C62, 0x1C63, 0x1C64, 0x1C65, 0x1C66, 0x1C67| 352
        .word 0x1C68, 0x1C69, 0x1C6A, 0x1C53, 0x1C5B, 0x1BFA, 0x1BFB, 0x1BFC| 360
        .word 0x1BFD, 0x1BFE, 0x1BB3, 0x1BB4, 0x1CFC, 0x1BB5, 0x1BB6, 0x1BB7| 368
        .word 0x1BB8, 0x1BC1, 0x1BD0, 0x1BC2, 0x1BC3, 0x1BBB, 0x1BBC, 0x1BBD| 376
        .word 0x1BBE, 0x1BBF, 0x1BC0, 0x1BB9, 0x1BBA, 0x1BC4, 0x1BC5, 0x1BC6| 384
        .word 0x1BC7, 0x1BC8, 0x1BC9, 0x1BCA, 0x1BCF, 0x1BCB, 0x1BCD, 0x1BCE| 392
        .word 0x1BCC, 0x1C6B, 0x1C6C, 0x1C71, 0x1C6D, 0x1C6E, 0x1C6F, 0x1C70| 400
        .word 0x1C77, 0x1C73, 0x1C72, 0x1C72, 0x1C73, 0x1C74, 0x1C75, 0x1C76| 408
        .word 0x1C79, 0x1C78, 0x1C7A, 0x1C84, 0x1C7B, 0x1C7C, 0x1C7D, 0x1C7E| 416
        .word 0x1C7F, 0x1C80, 0x1C7C, 0x1C81, 0x1C82, 0x1C80, 0x1C6B, 0x1C83| 424
        .word 0, 0, 0, 0, 0, 0, 0, 0    | 432
        .word 0x1C85, 0x1C86, 0x1C8C, 0x1C8D, 0, 0x1C87, 0x1C88, 0x1C89| 440
        .word 0x1C8A, 0x1C8F, 0x1C8B, 0x1C85, 0x1C85, 0x1C8E, 0x1C90, 0x1C9A| 448
        .word 0x1C92, 0x1C92, 0x1C94, 0x1C95, 0x1C97, 0, 0x1C98, 0x1C99| 456
        .word 0x1C9A, 0x1C9B, 0, 0, 0, 0, 0, 0| 464
        .word 0, 0, 0, 0, 0, 0x1B25, 0x1B26, 0| 472
        .word 0x1B27, 0x1B28, 0x1B29, 0x1B2A, 0x1B2B, 0x1B30, 0, 0| 480
        .word 0, 0x1B2C, 0x1B2D, 0x1B31, 0x1B32, 0x1B33, 0x1B34, 0x1B35| 488
        .word 0x1B36, 0, 0, 0, 0, 0, 0, 0| 496
        .word 0, 0, 0, 0, 0x1CC9, 0x1CCA, 0x1CD0, 0x1CCB| 504
        .word 0x1CCC, 0x1CCD, 0x1CCE, 0x1CD1, 0x1CE0, 0x1CCF, 0x1CCF, 0x1CD2| 512
        .word 0x1CD3, 0x1CD5, 0x1CD6, 0x1CD8, 0x1CD9, 0x1CD9, 0x1CDA, 0x1CDE| 520
        .word 0x1CDB, 0x1CDC, 0x1CDD, 0x1CDF, 0x1CD4, 0x1CD0, 0x1CD7, 0x1EF7| 528
        .word 0x1EF8, 0x1EFA, 0x1EFB, 0, 0, 0, 0x1CE1, 0x1CE2| 536
        .word 0x1CE9, 0x1CE3, 0x1CE4, 0x1CE5, 0x1CE6, 0x1CEA, 0x1CF4, 0x1CE7| 544
        .word 0x1CE8, 0x1CEB, 0x1EF6, 0x1CEC, 0, 0x1CED, 0x1CF2, 0x1CEE| 552
        .word 0x1CEF, 0x1CF1, 0x1CF0, 0x1CEE, 0x1CF3, 0x1CED, 0x1CE1, 0x1CE9| 560
        .word 0x1EF3, 0x1EF4, 0x1EF5, 0, 0, 0, 0, 0x1BD1| 568
        .word 0x1BD2, 0x1BD3, 0x1BD4, 0x1BD5, 0x1BD6, 0x1BD1, 0x1BD7, 0x1BEA| 576
        .word 0x1BDB, 0x1BDB, 0x1BDC, 0x1BDD, 0x1BDE, 0x1BDF, 0x1BE0, 0x1BD8| 584
        .word 0x1BD9, 0x1BDA, 0x1BE1, 0x1BE2, 0x1BE3, 0x1BE4, 0x1BD2, 0x1BE7| 592
        .word 0, 0x1BE6, 0x1BE8, 0x1BE9, 0, 0, 0, 0| 600
        .word 0, 0, 0, 0, 0, 0, 0x1ED4, 0x1ED5| 608
        .word 0, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EF0, 0x1EE0| 616
        .word 0x1EE1, 0x1EDB, 0x1EDD, 0x1EDC, 0x1EDF, 0x1EE3, 0x1EE4, 0x1EE5| 624
        .word 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0, 0x1EEC| 632
        .word 0x1EDE, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EEF, 0x1EED, 0x1CF8, 0x1CFB| 640
        .word 0x1CF9, 0x1CFA, 0, 0x1E27, 0x1E28, 0x1E2F, 0x1E29, 0x1E2A| 648
        .word 0x1E2B, 0x1E2C, 0x1E30, 0x1E3F, 0x1E2D, 0x1E2E, 0x1E31, 0x1E32| 656
        .word 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A| 664
        .word 0x1E3B, 0x1E3C, 0x1E3F, 0x1E3D, 0x1E3E, 0, 0, 0| 672
        .word 0, 0, 0, 0, 0, 0, 0, 0x1B37| 680
        .word 0x1B38, 0x1B57, 0x1B39, 0x1B3A, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B56| 688
        .word 0x1B45, 0x1B46, 0x1B3E, 0x1B3F, 0x1B40, 0x1B41, 0x1B42, 0x1B43| 696
        .word 0x1B44, 0x1B47, 0x1B4A, 0x1B48, 0x1B49, 0x1B4B, 0x1B4F, 0x1B4C| 704
        .word 0x1B4D, 0x1B4E, 0x1B52, 0x1B53, 0x1B54, 0x1B50, 0x1B37, 0x1B4F| 712
        .word 0x1B51, 0x1B55, 0x1B58, 0x1B59, 0, 0, 0, 0x1E40| 720
        .word 0x1E41, 0, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E48, 0x1E53| 728
        .word 0x1E46, 0x1E47, 0x1E49, 0x1E4A, 0, 0, 0x1E4B, 0x1E4C| 736
        .word 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E4D, 0x1CFD, 0| 744
        .word 0, 0, 0, 0, 0, 0, 0, 0x1C9C| 752
        .word 0x1C9D, 0, 0x1C9E, 0x1C9F, 0x1CA0, 0x1CA1, 0x1CA6, 0x1CAD| 760
        .word 0x1CA2, 0x1CA3, 0x1CA5, 0x1CA5, 0, 0, 0x1CA7, 0x1CA8| 768
        .word 0x1CA9, 0x1CA4, 0x1CAA, 0, 0x1C9C, 0x1CA4, 0x1CAB, 0x1CAC| 776
        .word 0x1CA9, 0x1CA5, 0x1CA4, 0x1CA6, 0x1CA4, 0, 0, 0| 784
        .word 0, 0, 0x1B11, 0x1B12, 0x1B1C, 0x1B13, 0x1B14, 0x1B15| 792
        .word 0x1B16, 0x1B17, 0x1B24, 0x1B1B, 0x1B1B, 0x1B18, 0x1B19, 0x1B1A| 800
        .word 0x1B1D, 0x1B1E, 0x1B1F, 0x1B20, 0x1B21, 0x1B22, 0x1B23, 0x1EF2| 808
        .word 0, 0, 0, 0, 0, 0, 0, 0    | 816
        .word 0x1E11, 0x1E12, 0x1E18, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E19| 824
        .word 0x1E26, 0x1E17, 0x1E17, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E| 832
        .word 0x1E1F, 0x1E21, 0x1E22, 0x1E24, 0x1E25, 0x1E20, 0x1E23, 0| 840
        .word 0, 0, 0, 0, 0, 0, 0, 0x1CAE| 848
        .word 0x1CAF, 0x1CB6, 0x1CB0, 0x1CB1, 0x1CB2, 0x1CB3, 0x1CB7, 0x1CC8| 856
        .word 0x1CB4, 0x1CB5, 0x1CB8, 0x1CB9, 0x1CBA, 0x1CBB, 0x1CBC, 0x1CBD| 864
        .word 0x1CBE, 0x1CBF, 0x1CC0, 0x1CC1, 0x1CC2, 0x1CC3, 0x1CC4, 0x1CC5| 872
        .word 0x1CC6, 0x1CC7, 0x1CBF, 0x1CBF, 0, 0, 0, 0| 880
        .word 0, 0, 0, 0, 0x1E54, 0x1E55, 0x1E60, 0x1E56| 888
        .word 0x1E57, 0x1E58, 0x1E59, 0x1E5C, 0x1E69, 0x1E5A, 0x1E5B, 0x1E5D| 896
        .word 0x1E5F, 0x1CF5, 0x1EF9, 0x1E61, 0x1E64, 0x1E63, 0x1E62, 0x1E65| 904
        .word 0x1E66, 0x1E67, 0x1E68, 0x1E5E, 0x1CF6, 0, 0, 0| 912
        .word 0, 0, 0, 0, 0, 0x1D50, 0x1D51, 0x1D60| 920
        .word 0x1D52, 0x1D53, 0x1D54, 0x1D55, 0x1D58, 0x1D6B, 0x1D56, 0x1D57| 928
        .word 0x1D59, 0x1D5A, 0x1D5B, 0x1D5C, 0x1D5D, 0x1D5E, 0x1D5F, 0x1D65| 936
        .word 0x1D62, 0x1D63, 0x1D64, 0x1D50, 0x1D65, 0x1D66, 0x1D67, 0| 944
        .word 0x1D6A, 0x1D69, 0x1D68, 0, 0x1D61, 0, 0x1D6C, 0| 952
        .word 0, 0, 0, 0, 0x1B5A, 0x1B5B, 0x1B79, 0x1B5C| 960
        .word 0x1B5D, 0x1B5E, 0x1B5F, 0x1B61, 0x1B78, 0x1B62, 0x1B63, 0x1B64| 968
        .word 0x1B65, 0x1B60, 0x1B67, 0x1B71, 0x1B70, 0x1B75, 0x1B76, 0x1B72| 976
        .word 0x1B73, 0x1B74, 0x1B77, 0x1B7A, 0x1B66, 0x1B68, 0x1B73, 0x1EFD| 984
        .word 0x1B69, 0x1B6A, 0x1B6B, 0x1B7D, 0x1B7E, 0x1B85, 0x1B7F, 0x1B80| 992
        .word 0x1B81, 0x1B82, 0x1B84, 0x1B9B, 0x1B86, 0x1B87, 0x1B88, 0x1B89| 1000
        .word 0x1B8A, 0x1B83, 0x1B8B, 0x1B8C, 0x1B8D, 0x1B8E, 0x1B8F, 0x1B90| 1008
        .word 0x1B91, 0x1B92, 0x1B93, 0x1B94, 0x1B95, 0x1B96, 0x1B97, 0x1B98| 1016
        .word 0x1B99, 0x1B9A, 0x1E6A, 0x1E6B, 0x1E87, 0x1E6C, 0x1E6D, 0x1E6E| 1024
        .word 0x1E6F, 0x1E70, 0x1E88, 0x1E71, 0x1E74, 0x1E72, 0x1E85, 0x1E73| 1032
        .word 0x1E75, 0x1E77, 0x1E7F, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E82| 1040
        .word 0x1E7C, 0x1E7D, 0x1E7E, 0x1E80, 0x1E81, 0x1E83, 0x1E84, 0x1E88| 1048
        .word 0x1E86, 0x1E76, 0x1E89, 0x1E8A, 0, 0x1E8B, 0x1E8C, 0x1E8D| 1056
        .word 0x1E8E, 0x1E9E, 0x1EA8, 0x1E90, 0x1E91, 0x1E92, 0x1E9E, 0x1E9F| 1064
        .word 0x1E95, 0x1E99, 0x1E9A, 0x1E8A, 0x1E9C, 0x1E9D, 0x1E89, 0x1E98| 1072
        .word 0x1EA0, 0x1EA1, 0x1EA2, 0x1E9B, 0x1EA3, 0x1EA6, 0x1E96, 0x1E97| 1080
        .word 0, 0, 0x1B9C, 0x1B9D, 0x1BA8, 0x1B9E, 0x1B9F, 0x1BA0| 1088
        .word 0x1BA1, 0x1BA4, 0x1BB2, 0, 0, 0x1BA2, 0x1BA3, 0x1BA5| 1096
        .word 0x1BA6, 0x1BAA, 0x1BAB, 0x1BAC, 0x1BAD, 0x1BB1, 0x1BAF, 0x1BB0| 1104
        .word 0x1BA9, 0x1BA7, 0x1BAE, 0, 0, 0, 0, 0| 1112
        .word 0, 0, 0, 0, 0, 0, 0, 0    | 1120
        .word 0, 0, 0, 0, 0, 0, 0, 0    | 1128
        .word 0, 0, 0, 0, 0, 0, 0, 0    | 1136
        .word 0, 0, 0, 0, 0, 0, 0x1D3C, 0x1D3B| 1144
        .word 0x1D1E, 0x1D1F, 0x1D20, 0x1D21, 0x1D22, 0x1D23, 0x1D24, 0x1D25| 1152
        .word 0x1D26, 0x1D2E, 0x1D2F, 0x1D3A, 0x1D27, 0x1D28, 0x1D29, 0x1D30| 1160
        .word 0x1D31, 0x1D32, 0x1D2A, 0x1D2B, 0x1D2C, 0x1D39, 0x1D36, 0x1D37| 1168
        .word 0x1D33, 0x1D34, 0x1D35, 0x1D2D, 0x1D38, 0x1D4E, 0x1D49, 0x1D4A| 1176
        .word 0x1D42, 0x1D43, 0x1D44, 0x1D45, 0x1D46, 0x1D47, 0x1D48, 0x1D3D| 1184
        .word 0x1D3E, 0x1D4D, 0x1D4C, 0x1D41, 0x1D4F, 0x1D4B, 0x1D3F, 0x1D40| 1192
        .word 0x1A5E, 0x1A58, 0x1A73, 0x1A76, 0x1AA0, 0x1A76, 0x1A64, 0x1A64| 1200
        .word 0, 0, 0, 0x1A5E, 0x1A57, 0x1A76, 0x1A76, 0x1A46| 1208
        .word 0x1A65, 0x1A96, 0x1A53, 0x1A46, 0x1A73, 0, 0x1A66, 0| 1216
        .word 0x1A5E, 0x1A99, 0x1A5E, 0x1A73, 0x1A67, 0x1A76, 0x1A56, 0x1A65| 1224
        .word 0x1A5C, 0, 0x1A65, 0x1A46, 0x1A78, 0, 0, 0| 1232
        .word 0x1A5D, 0x1A4B, 0x1A4B, 0x1A76, 0x1A65, 0x1A46, 0x1A96, 0x1A54| 1240
        .word 0x1A5D, 0x1A4B, 0x1A76, 0, 0, 0, 0x1A7A, 0x1A73| 1248
        .word 0x1A65, 0x1A73, 0, 0x1A73, 0x1A46, 0x1A76, 0x1A46, 0| 1256
        .word 0, 0x1A74, 0x1A6E, 0x1A68, 0x1A9D, 0x1A77, 0x1AA1, 0x1A75| 1264
        .word 0x1D14, 0x1A6D, 0x1AB5, 0, 0, 0, 0, 0| 1272
        .word 0x1AA1, 0, 0, 0, 0, 0, 0x1A4A, 0x1A51| 1280
        .word 0x1A4A, 0x1A46, 0x1D12, 0x1A48, 0x1A4A, 0x1A5F, 0x1A49, 0x1D12| 1288
        .word 0x1A65, 0, 0x1A46, 0x1AF2, 0x1A86, 0x1A61, 0x1A5C, 0x1A47| 1296
        .word 0x1A88, 0x1A76, 0x1A8C, 0x1A4B, 0x1A47, 0x1A54, 0x1A46, 0x1A46| 1304
        .word 0x1A46, 0x1A46, 0x1A59, 0x1A73, 0x1A46, 0x1A76, 0x1A4C, 0x1A47| 1312
        .word 0, 0, 0x1A7A, 0x1A76, 0x1A65, 0x1A46, 0x1A46, 0x1A61| 1320
        .word 0, 0x1A73, 0, 0x1A78, 0, 0, 0x1A7A, 0x1A76| 1328
        .word 0x1A5E, 0x1A46, 0x1A46, 0, 0x1A61, 0x1A9F, 0, 0| 1336
        .word 0, 0, 0x1A7A, 0x1AA0, 0, 0x1A7C, 0x1A7D, 0| 1344
        .word 0x1A61, 0x1A9E, 0x1A5E, 0x1A76, 0, 0x1A8B, 0x1A45, 0x1A8B| 1352
        .word 0x1A82, 0x1A89, 0x1A4C, 0x1A89, 0x1A76, 0x1A8A, 0, 0x1A80| 1360
        .word 0, 0x1D15, 0x1A76, 0x1AB6, 0x1A9B, 0x1A78, 0, 0| 1368
        .word 0x1A60, 0x1A46, 0x1A6F, 0x1A5E, 0x1A47, 0x1A84, 0x1A47, 0x1A9F| 1376
        .word 0x1A3A, 0x1A3B, 0x1A3C, 0x1A3D, 0x1A3E, 0x1A3F, 0x1A40, 0x1A41| 1384
        .word 0x1A42, 0x1A43, 0x1A44, 0x1A85, 0x1D17, 0x1A83, 0x1A76, 0x1D17| 1392
        .word 0x1A85, 0x1D18, 0x1A54, 0x1A6B, 0x1A6C, 0x1A76, 0x1A6E, 0x1A76| 1400
        .word 0x1A62, 0x1D1B, 0x1A7B, 0x1A76, 0, 0, 0x1A76, 0x1A46| 1408
        .word 0x1A46, 0x1A46, 0x1A9F, 0x1A73, 0, 0, 0x1A95, 0x1A76| 1416
        .word 0x1A46, 0x1A9D, 0x1A46, 0x1AA3, 0, 0, 0, 0x1A74| 1424
        .word 0x1A74, 0x1A76, 0x1A46, 0x1A7F, 0x1A53, 0x1A46, 0x1A76, 0x1A47| 1432
        .word 0, 0, 0, 0, 0x1A60, 0x1A76, 0x1A4C, 0x1A4C| 1440
        .word 0, 0, 0, 0x1A76, 0x1A65, 0x1A76, 0x1A50, 0x1A7E| 1448
        .word 0x1A78, 0, 0, 0, 0x1A4B, 0x1A47, 0x1A46, 0x1A59| 1456
        .word 0x1A47, 0x1A59, 0x1A96, 0, 0, 0, 0x1A76, 0x1A9C| 1464
        .word 0x1A97, 0x1A5A, 0x1A5A, 0x1A5A, 0x1A55, 0x1A47, 0x1A5F, 0x1A47| 1472
        .word 0x1A47, 0x1A5B, 0x1A79, 0x1A52, 0x1A4E, 0x1A9A, 0x1A6A, 0x1A69| 1480
        .word 0x1AAD, 0, 0, 0, 0, 0x1AA2, 0x1AA9, 0x1AA6| 1488
        .word 0x1AB1, 0x1A76, 0x1A76, 0x1A76, 0x1D1D, 0x1AA5, 0x1A53, 0x1A97| 1496
        .word 0x1A9F, 0x1A46, 0x1A84, 0x1A5E, 0x1AF1, 0x1AA8, 0x1A76, 0x1A4A| 1504
        .word 0x1AAE, 0x1A4A, 0x1A48, 0x1A48, 0x1A7E, 0x1A46, 0x1A76, 0x1A4C| 1512
        .word 0x1A76, 0x1A4B, 0x1A4B, 0x1A46, 0x1AA4, 0x1A96, 0x1A54, 0x1AB3| 1520
        .word 0x1A7F, 0, 0, 0x1A94, 0, 0, 0x1AB4, 0| 1528
        .word 0, 0x1A96, 0, 0, 0x1C1D, 0, 0x1B6C, 0x1B6D| 1536
        .word 0x1B7B, 0x1B7C, 0x1B6E, 0x1B6F, 0x1AB0, 0, 0, 0| 1544
        .word 0, 0x1D78, 0x1D79, 0, 0x1D7A, 0x1D7B, 0x1D7C, 0x1D7D| 1552
        .word 0x1CFF, 0x1D93, 0, 0, 0x1D86, 0x1D82, 0x1D87, 0x1D80| 1560
        .word 0x1D81, 0x1D83, 0x1D84, 0x1D85, 0x1D7E, 0x1D7F, 0x1D88, 0x1D89| 1568
        .word 0x1D8A, 0x1D8B, 0x1D83, 0x1D8C, 0x1D8D, 0x1D8E, 0x1D8F, 0x1D90| 1576
        .word 0x1CFF, 0x1CFF, 0x1CFF, 0x1CFF, 0x1CFF, 0x1CFF, 0x1CFF, 0x1CFF| 1584
        .word 0x1CFF, 0x1CFF, 0x1CFF, 0x1D00, 0x1C00, 0, 0x1D94, 0x1D95| 1592
        .word 0x1D96, 0x1D97, 0x1D98, 0x1D99, 0x1D9A, 0x1D9B, 0, 0| 1600
        .word 0, 0x1D91, 0x1D92, 0x1A7B, 0x1A9D, 0x1D1D, 0x1A79, 0x1D70| 1608
        .word 0x1D71, 0x1D6D, 0x1D6E, 0x1D6F, 0x1D72, 0x1D74, 0x1D73, 0x1D74| 1616
        .word 0, 0, 0, 0x1D75, 0x1D76, 0x1D77, 0, 0| 1624
        .word 0, 0x1BED, 0x1BED, 0x1BEE, 0x1BEE, 0x1BEF, 0x1BF1, 0x1BF2| 1632
        .word 0x1BF0, 0x1BEB, 0, 0, 0x1BF3, 0x1BEC, 0x1BF2, 0| 1640
        .word 0, 0, 0, 0x1ADA, 0x1ADB, 0x1AB3, 0x1AB5, 0x1AD9| 1648
        .word 0, 0, 0, 0, 0, 0x1D9C, 0x1D9D, 0x1DA0| 1656
        .word 0x1A1D, 0x1A8D, 0x1DA1, 0x1DA2, 0x1D19, 0x1DA3, 0x1A78, 0x1DA5| 1664
        .word 0x1DA6, 0x1DA7, 0x1D74, 0x1D9E, 0x1D9F, 0x1DA8, 0x1DA9, 0x1CFE| 1672
        .word 0x1DAA, 0x1DAB, 0x1DAC, 0x1DAD, 0x1DAE, 0x1A18, 0x1AAF, 0x1AB2| 1680
        .word 0x1BF4, 0x1BF5, 0x1968, 0x1AA7, 0x1DAF, 0x1BF6, 0x1BF7, 0x1BF8| 1688
        .word 0x1BFE, 0x1BFD, 0x1DB0, 0x1BFF, 0x1AAA, 0x1AAB, 0x1AAC| 1696
